/*
 * 题目描述:给出一个字符串，要求输出成U型，令字符串总长度为N，左边和右边高度为A，底边长度为B（角落算入B），则需要满足max{A|A<B}以及2A+B=N
 *
 * 思路：通过联立不等式方程组可以得到分界点在N/3，故B从N/3开始遍历，找到第一个N-B为偶数且（N-B)/2 < B的点
 *
 */
#include <iostream>
#include <cstdio>
#include <string>
using namespace std;
int main() {
    string str;
    cin >> str;
    int A, B;
    for (int i = str.size() / 3; i < str.size(); i++) {
        if ((str.size() - i) % 2 == 0 && i > (str.size() - i) / 2) {
            A = (int) ((str.size() - i) / 2);
            B = str.size() - 2 * A;
            break;
        }
    }
    for (int i = 0; i < A; i++) {
        cout << str[i];
        for (int j = 0; j < B - 2; j++) {
            cout << " ";
        }
        cout << str[str.size() - i -1];
        cout << endl;
    }
    for (int i = A; i < A + B; i++) {
        cout << str[i];
    }
    return 0;
}